//从扑克牌中随机抽5张牌，判断是不是一个顺子，即这5张牌是不是连续的。2～10为数字本身，A为1，J为11，Q为12，K为13，而大、小王为 0 ，可以看成任
//意数字。A 不能视为 14。 
//
// 
//
// 示例 1: 
//
// 输入: [1,2,3,4,5]
//输出: True 
//
// 
//
// 示例 2: 
//
// 输入: [0,0,1,2,5]
//输出: True 
//
// 
//
// 限制： 
//
// 数组长度为 5 
//
// 数组的数取值为 [0, 13] . 
// 👍 89 👎 0

package leetcode.editor.cn;

import java.util.HashSet;

//Java：扑克牌中的顺子
public class BuKePaiZhongDeShunZiLcof{
    public static void main(String[] args) {
        Solution solution = new BuKePaiZhongDeShunZiLcof().new Solution();
        
    }
    
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public boolean isStraight(int[] nums) {
        //0可以当成任何数字
        //是否重复  0忽略
        //最大值和最小值相减 < 5
        HashSet<Integer> repeatSet = new HashSet<>();
        //先给最小值设置一个最大的，最大值设置一个最小的
        int min = 14, max = 0;
        for (int num: nums) {
            //跳过0
            if ( num == 0 ){
                continue;
            }
            min = Math.min( min,num );
            max = Math.max( max,num );
            if ( repeatSet.contains( num ) ){
                return false;
            }
            repeatSet.add(num);
        }
        return max - min < 5;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
